//app.js\
let network = require('/utils/requestManager.js')
let app = getApp()
App({
  onLaunch: function (option) {
    console.log(option)
    console.log("app的option场景")

    /**
     * 小程序版本自动更新模块
     * **/
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        console.log(res)
      })
      updateManager.onUpdateReady(function () {
        wx.showModal({
          title: '更新提示',
          content: '新版本已经准备好，是否重启应用？',
          success: function (res) {
            if (res.confirm) {
              // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
              updateManager.applyUpdate()
            }
          }
        })
      })
      updateManager.onUpdateFailed(function () {
        // 新的版本下载失败
      })
    }

    ///上线设置
    ///第三方平台自定义信息，主要为特约商户shop id 和appid
    ///shop_id默认为自己的店铺id,如果通过转发和扫码，再覆盖shop_id
    var obj = wx.getExtConfigSync()
    console.log(obj)
    if (obj.shop) {
      this.globalData.shop_id = obj.shop
      this.globalData.appid = obj.appid
    }

    /**
     * 基础库版本判断
     * 低于2.2.3版本提示不支持
     * **/
    let that = this;
    let info = wx.getSystemInfoSync()
    let app_version = info.SDKVersion//当前版本号
    function compareVersion(v1, v2) {
      v1 = v1.split('.')
      v2 = v2.split('.')
      var len = Math.max(v1.length, v2.length)

      while (v1.length < len) {
        v1.push('0')
      }
      while (v2.length < len) {
        v2.push('0')
      }

      for (var i = 0; i < len; i++) {
        var num1 = parseInt(v1[i])
        var num2 = parseInt(v2[i])

        if (num1 > num2) {
          return 1
        } else if (num1 < num2) {
          return -1
        }
      }
      return 0
    }

    /**
     * 1表示最新版本
     * 0表示当前版本
     * -1表示旧版本
     * **/
    let AppVersion = compareVersion(app_version, '2.2.3')
    console.log(AppVersion)
    console.log(that.globalData.app_version)
    that.globalData.app_version = AppVersion
    if (AppVersion == -1 ){
      wx.showModal({
        title: '温馨提示',
        content: '当前微信版本过低，请升级到最新版本后重试',
        showCancel:false,
        confirmText:"知道了",
        success:function(res){
          wx.navigateBack({//退出小程序
　　　　　　　delta: 0
　　　　　 })
        },
      })
    }else{
      // login();
    }
  },
  globalData: {
    userInfo: null,
    code:'',
    token: '',
    scene:'',
    //token: 'Token c128f3da6d548f7cc3bf009e5e5361b55d13f8db',//测试
    shop_id: '',
    appid: '',
    phone:'',
    owner:'',//身份
    app_version:0
  }
})

/**
 * 自定义登录
 * 判断是否有token
 * 首次登录显示宣传页
 * **/
function login(obj) {
  console.log(obj)
  wx.showLoading({
    title: '请求中，请稍待',
  })
  wx.login({
    success: res => {
      console.log(res)
      // 发送 res.code 到后台换取 openId, sessionKey, unionId
      /**
       * 如果没有token说明是首次进入
       * 则跳转到宣传页propaganda
       * 回调函数中请求token
       * **/
      if (res.code) {
        getApp().globalData.code = res.code
        var params = {}
        params['code'] = res.code
        console.log('code' + res.code)
        params['appid'] = getApp().globalData.appid
        wx.request({
          url: 'https://wx.extend.xuemei99.com/xcx/login',
          method: "POST",
          data: params,
          success: function (logRes) {
            console.log('登录成功')
            console.log(logRes)
            var status = logRes.data.status
            if (status == 0) {
              console.log("已注册" + logRes)
              console.log("已注册" + (logRes.data.detail.owner ? "店主身份" : "游客身份"))
              getApp().globalData.token = logRes.data.detail.token,
              getApp().globalData.openid = logRes.data.detail.openid
              getApp().globalData.owner = logRes.data.detail.owner
              // getApp().globalData.shop_id = logRes.data.detail.shopId
              getApp().globalData.phone = logRes.data.detail.phone//用户手机号
          
              // to home
              // wx.navigateTo({
              //   url: '/pages/index/index',
              // })
            } else if (status == 2) {
              //未注册，则显示宣传页，在宣传页点击登录
              // to home
              // wx.navigateTo({
              //   url: '/pages/propaganda/propaganda?show=true',
              // })
            }
          }
        })
      } else {
        console.log('登录失败' + res.errMsg)
      }
    },
    fail: res => {
      console.log('登录失败')
      console.log(res)
    },
    complete: res => {
      console.log('登录接口调用完毕')
      wx.hideLoading()
    }
  })
}
